Operating System ArchitectureKernelIt is the core of the operating systemResponsible for managing system resourcesIt has two modes of operation:User mode: restricted access to system resourcesKernel mode: full access to system resourcesOperating system layersDivide system functionalities into modulesFacilitate system development and maintenanceExamples of layers:Process ManagementMemory ManagementInput and output device managementMonolithic Operating SystemsThe entire operating system runs in kernel modeAll functionality is in a single executableExample: LinuxMicrokernel Operating SystemsOnly the most basic features are in kernel modeThe other functionalities run as user-mode processesExample: QNXHybrid Operating SystemsCombine aspects of monolithic systems and microkernelsSome functionality runs in kernel mode and others in user modeExample: Windows NTVirtualizationAllows a single piece of hardware to run multiple operating systemsEach operating system runs in a virtual machineExamples of virtualization solutions:VMwareVirtualBoxHyper-V --auto --s2